Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

v4.2.0 #309

Merged
merged 62 commits into from
Nov 17, 2023
Merged

v4.2.0 #309

merged 62 commits into from
Nov 17, 2023

Conversation

Frix-x
Copy link
Owner

@Frix-x Frix-x commented Sep 25, 2023

Klippain v4.2.0

Special Highlight: Shake&Tune Module 🚀

We're excited to introduce the Shake&Tune module in Klippain, a significant evolution from the original IS workflow scripts. This module represents a major step forward in our commitment to enhancing the Klippain experience and printer tuning with:

  • 🎨 Stunning visual overhaul tailored for comprehensive analysis, making it easier than ever to understand your printer's dynamics and frequency profiles. There is now also an automatic peak detection algorithm, custom advices based on the graphs, printer's mechanical health indicator, damping ratio estimation, etc...
  • 🔧 Hassle-free setup as everything is integrated in Klippain for all of you if you've set an accelerometer. Just run the macro and look at the results as you were doing with the old IS workflow. The good news is that this module is also now available outside Klippain to use it in another Klipper configuration easily here.
  • 📊 And an enhanced input shaping documentation is also available directly in the K-Shake&Tune module documentation. We've added numerous elements to guide you in interpreting the graphs, making it easier to optimize your printer’s performance.

Fixes and Improvements

Configuration and Templates:

  • Fixed a typo in SKR Pico template on motor pin definition
  • Added a prefilled template for a custom MCU configurations, facilitating the initial installation of Klippain with an MCU not yet officially supported
  • Added a template for the Fysetc Spider 3
  • Added a template for the BTT EBB SB2209 CAN v1.0 with the RP2040 chip
  • Rampon ADXLs support was added for easy input shaping setting since this is now a pretty common type of ADXL probe
  • Support for the ADXL345 SHT V2.x integrated sensor added
  • Support for the portable input shaper from Fysetc (RP2040 based ADXL) added
  • Added support for servo in SKR Mini E3 MCU to align this template with the other templates
  • Added configuration for BTT Manta M8P V2, expanding board support with newer products
  • Added support for Galileo2 Z blocks and Galileo2 Extruder that are both very good products!
  • Added a template for the Creality printers bed due to a different sensor than the one used on Keenovo heaters. This is done by a small refactoring of the bed templates files but the old one is still valid, so it's not a breaking change for now but this file will likely be deprecated in the future
  • Added config files for 180mm printers such as the Micron+ for example

Filament Sensors:

  • Removed invalid option extruder in filament switch sensor config file (#294)
  • Flush Klipper buffer before resetting filament sensor to ensure accurate readings and no remaining filament movements before reactivating the sensor after a purge or something like that

General macros and scripts changes:

  • Reworked input shaper scripts for enhanced performance and usability (K-Shake&Tune module)
  • Added support for Extruder motion vibrations measurements (K-Shake&Tune module)
  • Reset filter macro at the beginning of the START_PRINT sequence to avoid a delayed filter stop caused by a previsously finished print
  • Refactored plot_graph.sh into a Python script for better performance and flexibility. This also allow to solve the path problem when the user was not "Pi". If you've made an override about this, be sure to remove it!
  • Solved an old issue with conditional checks for QGL/Z_TILT (#214). Now the tilting process should really be conditionnal as it was originally designed when setting variable_force_homing_in_start_print to false!
  • Corrected a small typo in variable configuration for variable_filter_default_time_on_end_print
  • Enhanced M109 and M190 logic with improved temperature settling (#302) in order to avoid a bug when going from an high temperature to a lower one when the variable_fix_heaters_temperature_settle was set to true
  • Improved the bed heatsoak sequence to use the current bed temperature (instead of bed temperature target) for a more accurate real time reading

System and Installation:

  • Added an auto uninstall script, simplifying the removal process for users that want to go back to their old configuration or that installed Klippain by mistake. This also allow at the same time to try Klippain very easily without taking too much risks
  • Made tweaks to the installation script and updated .gitignore for better setup experience.
  • Fixed issue with the path set in the gcode_shell_command for system_info.py script resolving startup errors when the user was not "Pi". If you've made an override about this, be sure to remove it!

LED and Status Indicators:

  • Fixed status LEDs for separate nozzle and logo LEDs, ensuring correct operation when having multiple Neopixel chains
  • Prevented occasional LED flashing that could occurs before homing in the START_PRINT sequence

Miscellaneous:

  • Moved (and improved) the input shaper analysis documentation directly in the K-Shake&Tune module repository documentation. The old markdown docs now point to the new one to avoid problems and keep an easy access to them
  • Enhanced START_PRINT sequence to allow a bed mesh profile loading from slicers using the MESH=xxxxx parameter in the custom START_PRINT Gcode. When using this, the adaptive bed mesh will be canceled and the specified mesh profile loaded instead. This can be usefull for calibration prints or if you just want to get the same static mesh for every prints.
  • Passed all the START_PRINT raw parameters in the _MODULE_CUSTOM1/3 in case you want to do something fancy in them based on your slicer parameters. Feel free to use them as you like :)

LongDono and others added 22 commits September 12, 2023 16:43
extruder is a valid option for filament_motion_sensor, but not for filament_switch_sensor
removed invalid option extruder in filament switch sensor config file
Improved hotend_heater_ctrl.cfg logic
Add extruder stepper vibrations
Corrected typo in variable `variable_filter_default_time_on_end_print` configuration
@Frix-x Frix-x marked this pull request as draft September 25, 2023 15:30
@Frix-x Frix-x linked an issue Nov 1, 2023 that may be closed by this pull request
kdomanski and others added 3 commits November 1, 2023 18:44
The macro aways uses TRANSMIT=0 for the logo LEDs, which assumes
that the subsequent call to nozzle LEDs will flush the data.
That will only work if both sets of LEDs are on the same chain.

The chains can be different though - configured through
`status_leds_nozzle_led_name` and `status_leds_logo_led_name`.
With this change, separate logo LEDs will use TRANSMIT=1 instead.
fix status LEDs for separate nozzle and logo LEDs
@Frix-x Frix-x changed the title v4.1.2 v4.2.0 Nov 6, 2023
@Frix-x Frix-x added the next version This thing is already done or is planned in the next version in preparation label Nov 8, 2023
mypompon and others added 3 commits November 10, 2023 17:26
…from slicer (#337)

* START_PRINT macro : transmit rawparams for _MODULE_CUSTOM1/3 macros
* START_PRINT macro : Add new parameter (MESH) for START_PRINT. If present, load the bed mesh profile with this name, otherwise previous procedure is applied
* add config files for 180mm printer like Micron+ (#335)
* add user template for BTT_Manta_M8P_v2.0.cfg

---------

Co-authored-by: Fragmon <50713890+Fragmon@users.noreply.github.com>
@Frix-x
Copy link
Owner Author

Frix-x commented Nov 17, 2023

I think we are pretty ready to merge this one now. Is it ok for everyone?

@Frix-x Frix-x requested review from Surion79 and Benoitone November 17, 2023 13:35
@Frix-x Frix-x self-assigned this Nov 17, 2023
Copy link
Contributor

@Surion79 Surion79 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Naming the heater bed by manufacturer might be a bit cryptic for some printer users. There is no longer a "default".

@Frix-x
Copy link
Owner Author

Frix-x commented Nov 17, 2023

Naming the heater bed by manufacturer might be a bit cryptic for some printer users. There is no longer a "default".

This is the beginning: the old file is not removed yet so it's still working. But as we have done it for the probes, the extruders or the ADXL boards for example, I feel that doing it for the other file is also a good thing to personalize more and let more choice for the users. It will also be a good base for a "configurator" that I plan to work on later on to help install Klippain :)

* Add RP2040 SPI1 USB boards (#342)
* added Fysetc portableinputshaper support to printer.cfg

---------

Co-authored-by: Luk Schwalb <schwalb@luk.im>
@Frix-x Frix-x merged commit e32e9fc into main Nov 17, 2023
@Frix-x Frix-x deleted the develop branch November 17, 2023 21:08
@Frix-x Frix-x restored the develop branch November 17, 2023 21:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
next version This thing is already done or is planned in the next version in preparation
Projects
None yet